package cn.glutnn;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class UIMaker {
	
	int $格子数 = 100;
	int $雷数 = $格子数 / 10;
	int $总行数 = 10;
	int $总列数 = 10;
	
	int $剩余地雷个数 = $雷数;
	int $游戏时间计数 = 0;

	JFrame $主窗口 = new JFrame();
	JPanel $主窗口_上 = new JPanel();
	JPanel $主窗口_中 = new JPanel();

	JMenuBar menubar = new JMenuBar();
	JMenu $menubar_游戏设置 = new JMenu("游戏设置");
	JMenuItem $menuitem_初级 = new JMenuItem("初级");
	JMenuItem $menuitem_中级 = new JMenuItem("中级");
	JMenuItem $menuitem_高级 = new JMenuItem("高级");

	JPanel $主窗口_上_上 = new JPanel();
	JPanel $主窗口_上_中 = new JPanel();
	JLabel $游戏时间key = new JLabel("游戏时间：");
	JLabel $游戏时间value = new JLabel($游戏时间计数 + "秒");
	JLabel $剩余地雷个数key = new JLabel("剩余地雷个数：");
	JLabel $剩余地雷个数value = new JLabel(""+$剩余地雷个数);
	JLabel $状态key = new JLabel("状态：");
	JLabel $状态value = new JLabel("游戏中");

	Gezi[] buttons = null;

	public void initUI() {

		$主窗口.add(BorderLayout.NORTH, $主窗口_上);
		$主窗口.add(BorderLayout.CENTER, $主窗口_中);

		$主窗口_上.setLayout(new BorderLayout());
		$主窗口_上.add(BorderLayout.NORTH, $主窗口_上_上);

		$主窗口_上.add(BorderLayout.CENTER, $主窗口_上_中);

		$主窗口_上_上.add(menubar);
		menubar.add($menubar_游戏设置);
		$menubar_游戏设置.add($menuitem_初级);
		$menubar_游戏设置.add($menuitem_中级);
		$menubar_游戏设置.add($menuitem_高级);

		$主窗口_上_中.add($游戏时间key);
		$主窗口_上_中.add($游戏时间value);
		$主窗口_上_中.add($剩余地雷个数key);
		$主窗口_上_中.add($剩余地雷个数value);
		$主窗口_上_中.add($状态key);
		$主窗口_上_中.add($状态value);

		// 先清除之前的格子
		$主窗口_中.removeAll();
		$主窗口_中.setLayout(new GridLayout($总行数, $总列数));

		buttons = new Gezi[$格子数];
		Font font = new Font(null, Font.BOLD, 7);
		for (int i = 0, ii = buttons.length; i < ii; i++) {
			buttons[i] = new Gezi(i, false, 0);
			buttons[i].setFont(font);
			$主窗口_中.add(buttons[i]);
		}

//		$主窗口.setSize(400, 400);

		$主窗口.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		$主窗口.pack();
		$主窗口.setBounds(400, 100, 600, 800);
		$主窗口.setVisible(true);
	}
	
	
	Timer timer = null;
	public void fn计时功能开始() {
		if (timer == null){
			timer = new Timer();
			timer.schedule(new TimerTask() {
				public void run() {
					$游戏时间计数++;
					$游戏时间value.setText($游戏时间计数+"秒");
				}
			}, 0, 1000);
		}
	}
	
	public void fn计时功能结束() {
		if (timer != null) {
			$游戏时间计数 = 0;
			timer.cancel();
			timer = null;
		}
	}

}
